اگرچه برنامه نویسی یک اختراع جدید محسوب میشود اما این در حالی است که ایده مجبور کردن یک ماشین یا دستگاه برای انجام یکسری دستورات خاص به سالها پیش چیزی در حدود یک قرن پیش باز میگردد. در واقع، یکی از ابتدایی ترین طرحها برای یک ماشین قابل برنامهریزی یا همان کامپیوتر از فردی به نام Charles Babbage در سال ۱۸۳۴ گرفته شد.
وی پیشنهاد ساخت یک ماشین بخار به صورت مکانیکی را داد که امروز ما آن را بعنوان موتور تحلیلگر میشناسیم. برخلاف سیستمهای محاسبهی آن روز که تنها میتوانستند یک عمل محاسباتی را انجام دهند، موتور تحلیلگر آقای چارلز بابج چندین کار همزمان را میتوانست انجام دهد. دستوراتی که به ماشین داده میشد از طریق یکسری کارتها انجام میپذیرفت که با تغییر تعداد این کارتها و نوع آنها، هر کسی میتوانست دستورات مد نظر خود را به ماشین برای محاسبهی آنها بدهد.
ایده ماشینهای قابل برنامهریزی توجه خانمی به نام Ada Lovelace را به خود جلب کرد که یک ریاضیدان بود. او خیلی زود فهمید که این کامپیوتر چیزی بسیار فراتر از یک محاسبهگرِ صرف است. این ماشین دستگاهی بود که میتوانست دستورالعملها و حافظهی خود را اصلاح و در آنها تغییراتی ایجاد کند. برای اثبات نقطهنظرش، Lovelace چیزی را نوشت که بعدها لقب اولین برنامهی کامپیوتر را گرفت. لذا او برنامهای نوشت که تعدادی عدد خاص را پشت سر هم چاپ میکرد (با توجه به این که این خانم اولین کسی بود که کار خاصی را با Analytical Engine یا همان موتور تحلیلگر انجام داد، وی را میتوان به نوعی اولین برنامه نویس دنیا نیز تلقی کرد که نامگذاری زبان برنامه نویسی Ada هم به احترام وی صورت گرفته است.)
چیزی پس از گذشت یکصد سال، اولین کامپیوتر به معنای واقعی کلمه در سال ۱۹۴۳ توسط ارتش ایالات متحده طراحی شد. این ماشین که Electronic Numerical Integrator and Computer یا به اختصار ENIAC نامیده شد، که از کابلها و سوییچهای مختلفی تشکیل شده بود و برای دستور دادن به آن، برنامه نویس میبایست جای کابلها و سوییچها را تغییر دهد (جالب است بدانیم که اولین برنامه نویسان این کامپیوتر همگی خانم بوده اند) نکته اصلی اینجا است که کامپیوترهای آن موقع بسیار حجیم و گران بودند و کار کردن با آنها واقعا تخصص نیاز داشت!
برنامه نویسی چیست؟
امروزه ردپای برنامهنویسی را تقریبا میتوان در همه جا یافت. صنایع مختلفی چون پزشکی، حمل و نقل، خودروسازی و حتی بازیها و فیلمهایی که اوقات فراغتتان را پر میکنند، همگی به نوعی از مسیر برنامهنویسی گذر کردهاند.اما برنامهنویسی چیست؟ برنامهنویسی فرآیندیست که در پی آن دستوراتی به کامپیوتر داده میشود تا از آن برای انجام هدفی مشخص بهره برده شود. برای این کار از زبانهای برنامهنویسی مختلفی استفاده میکنیم که اگرچه تفاوتهای زیادی با هم دارند، اما در نهایت هدفشان پیشبرد یک برنامه مشخص است.
زبان برنامه نویسی چیست؟
زبان وسیلهای برای به اشتراک گذاشتن نظرات، احساسات و افکار است. زبان برنامهنویسی نیز زبانی کامپیوتری است که توسعهدهندگان از طریق آن با کامپیوتر ارتباط برقرار میکنند و دستورات مورد نیاز را در بستر زبان برنامهنویسی به کامپیوتر میدهند. زبانهای برنامهنویسی انواع مختلفی دارند و برای اهداف متفاوتی استفاده میشوند که در ادامه به آنها میپردازیم.
Lovelace الگوریتمی را طراحی کرد که موتور تحلیلی بهوسیلهی آن میتوانست اعداد برنولی را محاسبه کند. موتور تحلیلی تعدادی از مفاهیم محاسباتی را به دنیا عرضه کرد که حتی تا به امروز هم از آنها استفاده میشود. قابلیتهای این برنامه شامل یک مخزن و یک کارخانه بود که قابلقیاس با حافظه و پردازشگر امروزی هستند. ورودی و خروجیها با استفاده از کارتهای پانچشده ارائه میشد. کارتهای پانچشده اختراع Jacquard در اوایل دههی ۱۸۰۰ بودند.
متاسفانه نه Babbage توانست کامپیوترش را بسازد و نه Lovelace با مرگ زودهنگامش در ۳۶ سالگی، اجراشدن کدهایش را دید. با این حال، موتور تحلیلیِ Babbage پیشزمینهای بر اولین کامپیوتر مکانیکیِ عمومی شد.
پُر درآمدترین شغلهای برنامه نویسی
بازار کار شغلهای برنامه نویسی در کشور ما مانند سایر کشورها رو به رشد است. برنامه نویسی حرفهای یکی از از پردرآمدترین شغلهای برنامه نویسی مرتبط با فناوری در دنیای امروز میباشد.انواع شغل های برنامه نویسی مبحثی است که در ادامه به آنها میپردازیم.
برنامه نویسی کامپیوتر: از جمله انواع شغلهای برنامه نویسی میتوان برنامه نویسان کامپیوتر را نام برد که کد را برای برنامههای نرمافزاری کامپیوتر مینویسند و ویرایش میکنند و اطمینان حاصل میکنند که برنامهها با هیچ خطایی اجرا میشوند. محصول نهایی با استانداردهای مشتریان آنها مطابقت دارد. همچنین ممکن است آنها مسئول آموزش دیگران برای استفاده از برنامههایشان پس از تکمیل باشند.
آنهایی که به دنبال مشاغلی در سطح ورودی هستند که شامل کد گذاری میشوند ممکن است بخواهند شغلهای برنامه نویسی را دنبال کنند. برخی از نیازمندیهای برنامهنویس شدن شامل گرفتن مدرک لیسانس در رشته کامپیوتر است.
توسعه دهنده وب: از دیگر انواع شغلهای برنامه نویسی میتوان به توسعه دهندگان وب طراحی و ساخت وب سایت نام برد. آنها مسئول عملکرد سایت هستند. آنها یک سایت را تست و ارزیابی خواهند کرد تا مطمئن شوند که قبل از انتشار با استانداردهای کیفی مطابقت دارد. پس از انتشار این سایت، آنها بر ادامه عملکرد سایت، نظارت کرده و هر گونه مشکل فنی که ممکن است ایجاد شود را رفع میکنند. آنها در پی آن هستند که وب سایتها و برنامههای آنها با استانداردهای امنیتی همخوانی داشته باشند.
به طور متوسط، یک توسعه دهنده وب برای اولین بار با یک مشتری ملاقات خواهد کرد تا دیدگاه خود برای یک پروژه را مورد بحث قرار دهد. سپس آنها برای سایت کد خواهند نوشت و با گروهی از سازندگان دیگر برای تولید محتوا در وب سایت کار خواهند کرد. اغلب کارفرمایان از توسعه دهندگان وب خود، میخواهند که مدرک لیسانس خود را در علوم کامپیوتر و یا مهندسی کامپیوتر داشته باشند.
توسعه دهندگان وب روی سه موضوع اساسی کار میکنند. توسعهدهندگان وب Front-End مسئول عناصر یک وبسایت هستند که کاربر با آنها در تعامل است. توسعهدهندگان وب Back-end که نحوه عملکرد وبسایت را تعیین میکند. و توسعهدهنده Full Stack که قادر به انجام هر دو موارد هستند.
برنامه نویس Front-End: یک توسعهدهنده فرانتاند با استفاده از پلتفرمهای مختلف مانند جاوا اسکریپت، وب سایتها و برنامههای تحت وب را طراحی میکند. آنها روی ظاهر صفحه وب، تجربه کاربر و قابلیتهای مدیریت محتوا برای جذب مشتریان تمرکز میکنند. توسعهدهندگان Front End استاد HTML ،CSS و جاوا اسکریپت هستند. اگر از ساختن برنامههای تحت وب زیبا و آسان برای استفاده لذت میبرید، از این نوع برنامه نویسی لذت خواهید برد.
برنامه نویس Back-end: یک توسعهدهنده Back-end تعیین میکند که برنامههای کاربردی وب در یک سرور چگونه کار میکنند و چگونه یک برنامه اطلاعات را از یک صفحه وب به سرور بارگذاری کند. آنها عناصر سرور وبسایت را طراحی، نگهداری، آزمایش و عیبیابی میکنند تا یک محیط کاربردی برای کاربران ایجاد کنند.
برنامه نویس Full Stack: برنامه نویس Full Stack در توسعه وب فرانتاند و بکاند مهارت دارند، به این معنی که همهچیز را از طراحی رابط کاربری (UI) و سازگاری مرورگر گرفته تا تنظیم دقیق نرمافزار و آزمایش درستی عملکرد سایت انجام میدهند. به دلیل گستردگی مسئولیتهایشان، توسعه کامل انواع مهارتهای فنی مهم نیاز دارد، ازجمله تسلط بر زبانهای کد نویسی مانند پایتون و جاوا اسکریپت که همه این زبانها جزو محبوبترین زبانهای توسعه وب هستند.
تحلیلگر برنامه: تحلیل برنامهنویسی میتواند یک شغل برنامه نویسی جذاب باشد، زیرا همانند بیشتر متخصصان برنامهنویسی، تحلیلگران برنامهنویس نیز برنامهها و نرمافزارهای کامپیوتری را طراحی و ایجاد میکنند. با همکاری دیگر برنامه نویسان کامپیوتر، یک تحلیلگر برنامه نویسی بر نوشتن کد لازم برای ایجاد و انتشار برنامهها نظارت میکند.
کارفرمایان تحلیل گران برنامهنویس را استخدام میکنند تا برنامههای خاصی را ایجاد کنند که با نیازهای فردی سازمان یا شرکت متناسب باشد. مشاغل مرتبط با برنامه نویسی که یکی از آنها تحلیلگران برنامهنویسی است، برنامهها و سیستمهای موجود را به روز میکنند تا با آخرین فناوریها سازگار باشند. آنها همچنین ممکن است مستندات پشتیبانی کاربر را بنویسند یا ویرایش کنند که به مشتری یا کارفرما در مورد چگونگی استفاده از برنامهها مشاوره میدهد. نیازهای مشترک تحلیلگران برنامهنویسی، مدرک کارشناسی در علوم کامپیوتر، مهارت در زبانهای برنامهنویسی و چندین سال تجربه توسعه کاربرد است.
تحلیلگران سیستمهای کامپیوتری، افرادی هستند که مسئول ادغام ابتکارات تجاری و فناوری اطلاعات (IT) یک شرکت میباشند. آنها سیستمهای کامپیوتری را ارزیابی میکنند و پیشنهاداتی را برای پاسخگویی به نیازهای تجاری پیشنهاد میدهند. برای موفقیت در این حرفه برنامه نویسی، باید درک کاملی از برنامه نویسی کامپیوتر و همچنین هوش تجاری داشته باشید.
رایجترین زبانهای برنامه نویسی برای تحلیلگر سیستمهای کامپیوتری: زبان برنامه نویسی جاوا، زبان برنامه نویسی جاوا اسکریپت و زبان برنامه نویسی پایتون میباشد.
مدیریت پایگاه داده: مدیر پایگاه داده یکی دیگر از شغلهای برنامه نویسی است که وظیفه تأمین، ذخیره سازی، سازماندهی و عیب یابی مقادیر زیادی از اطلاعات شرکتها را به صورت آنلاین برعهده دارد. اگر عاشق تجزیه و تحلیل و بازیابی اطلاعات و همچنین حل سریع مشکلات هستید، این شغل میتواند برای شما مناسب باشد. رایجترین زبانهای برنامه نویسی برای مدیر پایگاه داده: زبان برنامه نویسی پایتون، زبان برنامه نویسی جاوا و زبان برنامه نویسی Oracle® PL / SQL میباشد. در صورت علاقه به کسب تخصص در این زمینه، باید در مورد دو نوع اصلی پایگاه دادهها اطلاعات کسب کنید. تسلط بر هر دو نوع، ایدهئال است اما با توجه به حوزه فعالیتتان، خیلی ضروری نیست.
تحلیلگر هوش تجاری: تحلیلگر هوش تجاری از جمله شغلهای برنامه نویسیِ فردی است که از دادهها به منظور کشف روند بازار و افزایش بهرهوری استفاده میکند. این افراد در شرکتها به عنوان مشاور عمل میکنند و اطلاعاتی را درباره محصولات و برنامههای نرم افزاری جمع میکند تا تعیین کند کدام نرم افزار میتواند به حل مسائل تجاری کمک نماید. رایجترین زبانهای برنامه نویسی برای تحلیلگر هوش تجاری: زبان برنامه نویسی پایتون، زبان برنامه نویسیR و زبان برنامه نویسی جاوا میباشد.
مهندس تضمین کیفیت نرم افزار (QA): وظیفه مهندسان QA نرم افزار، مستند سازی اطلاعات، طراحی و تست سناریو است. ضمن این که این افراد قادر هستند به ایجاد کتابچه راهنمای نرم افزار جدید برای قرار دادن در دسترس دیگران اقدام نمایند. آنها همچنین نرم افزار طراحی شده را از نظر عملکرد و مشکلات احتمالی بررسی میکنند.
رایجترین زبانهای برنامه نویسی برای مهندسان QA نرم افزار که جزو شغلهای برنامه نویسی هستند شامل موارد زیر است: زبان برنامه نویسی جاوا، زبان برنامه نویسی پایتون و زبان برنامه نویسی جاوا اسکریپت میباشد.
مدیر سیستم شبکه: سرپرستان شبکه از طریق پشتیبان گیری از دادهها، محیطهای محاسباتی را در شبکههای خود حفظ کرده و از بروز مشکلات احتمالی جلوگیری میکنند. تأمین امنیت شبکه و جلوگیری از نفوذ ویروس به سیستمها، وظایف اصلی مدیر سیستم شبکه که جزو مشاغل مرتبط با برنامه نویسی است. در واقع این افراد وظیفه محافظت از شبکه و سخت افزار کامپیوترها را به عهده دارند.
رایجترین زبانهای برنامه نویسی برای مدیران شبکه: زبان برنامه نویسی پایتون، زبان برنامه نویسی PERL و زبان برنامه نویسی جاوا است.
خدابخش حکیمی-خبرنگار تحریریه جوان قدس
نظر شما